package abc.Goods;

import abc.Tool.JdbcUtils;
import org.apache.commons.lang3.RandomStringUtils;

import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
import java.io.IOException;
//2.	基于注解的方式
//
//在 Servlet 的类上上方注明 @WebServlet(urlPatterns = "/xyz") 即可实现对Servlet 的配置。该配置由 servlet-api.jar 提供。
//
//注意：在一个Java网站中，url-pattern 配置必须是全局唯一。否则会在 tomcat 启动的时候出现异常。
//
@WebServlet(urlPatterns = "/goods/save")
@MultipartConfig(
        //上传的文件保存的具体位置
        location = "/Users/ling/SchoolClass/zhuanyeshixi/ziliao/Pathziliao/imgtest",
        // 最大支持的文件上限（单位：字节）
        maxFileSize =100*1024*1024 ,
        // 最大支持的请求上限（单位：字节），要求：maxRequestSize >= maxFileSize
        maxRequestSize =104857600 )
public class GoodsSaveServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String name=req.getParameter("n");
        String price = req.getParameter("p");
        // 获取来自前端提交的图片文件
        Part image = req.getPart("i");
        // 获取来自前端提交的图片的原始名称
        String fileName = image.getSubmittedFileName();
        // 将名称以 . 进行切割
        String[] strings = fileName.split("\\.");//单个点表示单个字符，要转义
        // 获取文件的后缀名
        String suffix = strings[1];
        //为上传的文件设置新名称
        String img = RandomStringUtils.randomAlphabetic(10) + "." + suffix;
        // 将提交的图片文件保存到磁盘
        image.write(img);

        String sql = "INSERT INTO goods(`name`,price,image) VALUES(?,?,?)";
        JdbcUtils.modify(sql,name,price,img);

        resp.sendRedirect("/abc/goods-list.jsp");

    }
}




